package duotai;

/**
 * 多态性，转型
 */

class A{
    public void fun1(){
        System.out.println("1、A ---->public void fun1()");
    }
    public void fun2(){
        this.fun1();
    }
}

class B extends A{
    //覆写了fun1()方法
    public void fun1(){
        System.out.println("2、B ---->public void fun1()");
    }
    //增加了一个fun3()方法
    public void fun3(){
        System.out.println("3、B ---->public void fun3()");
    }
}

public class DuoDemo01 {
    public static void main(String[] args) {
        /**向上转型*/
//        A a = null;
//        a = new B();//子类对象为父类实例化

        /**向下转型*/
//        A a = null;
//        a = new B();//子类对象为父类实例化
//        B b = (B) a;
//        a.fun1();
//        b.fun2();

        /**向下转型错误示例*/
//        A a = new A();
//        a.fun2();
//        B b = new B();
//        b.fun3();

    }
}

